import { readFile, writeFile } from 'fs/promises'
import { join } from 'path'
import { fileURLToPath } from 'url'
import { outDir } from './src/config.js'
console.log(outDir)

// 获取 __dirname 的 ES 模块等价物
const __dirname = fileURLToPath(new URL('.', import.meta.url))

// 定义 HTML 文件路径
const htmlFilePath = join(__dirname, outDir || 'dist', 'index.html')

try {
  // 读取 HTML 文件
  const data = await readFile(htmlFilePath, 'utf8')

  // 使用正则表达式匹配 <p> 标签的内容
  const regex = /<script crossorigin="[\s\S]*">import\(/
  const match = data.match(regex)

  if (match) {
    // 提取原 <script> 标签内容
    const originalContent = match[0]
    // 新的 <script> 标签内容
    const newContent = `<script crossorigin="">
      let baseTag = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__
        ? window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__
        : "";
      import(baseTag +`
    // 替换原内容为新内容
    const newHtml = data.replace(originalContent, newContent)
    // 将修改后的内容写入文件
    await writeFile(htmlFilePath, newHtml, 'utf8')
    console.log('文件已成功修改。')
  } else {
    console.log('未找到 <script> 标签。')
  }
} catch (err) {
  console.error('操作文件时出错:', err)
}
